home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / PInterfaces / VideoServices.p < prev    next >
Encoding:
Text File  |  1996-09-22  |  3.2 KB  |  128 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        VideoServices.p
  3.  
  4.      Contains:    Video Services Library Interfaces
  5.  
  6.      Version:    Technology:    PowerSurge 1.0.2.
  7.                  Package:    Universal Interfaces 2.1.4
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT VideoServices;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __VIDEOSERVICES__}
  30. {$SETC __VIDEOSERVICES__ := 1}
  31.  
  32. {$I+}
  33. {$SETC VideoServicesIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36. {$IFC UNDEFINED __TYPES__}
  37. {$I Types.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __NAMEREGISTRY__}
  40. {$I NameRegistry.p}
  41. {$ENDC}
  42. {$IFC UNDEFINED __QUICKDRAW__}
  43. {$I Quickdraw.p}
  44. {$ENDC}
  45.  
  46. {$PUSH}
  47. {$ALIGN MAC68K}
  48. {$LibExport+}
  49.  
  50.  
  51. CONST
  52.     kTransparentEncoding        = 0;
  53.     kInvertingEncoding            = 1;
  54.  
  55.     kTransparentEncodingShift    = $00;
  56.     kTransparentEncodedPixel    = $01;
  57.     kInvertingEncodingShift        = $02;
  58.     kInvertingEncodedPixel        = $04;
  59.  
  60.     kHardwareCursorDescriptorMajorVersion = $0001;
  61.     kHardwareCursorDescriptorMinorVersion = $0000;
  62.  
  63.  
  64. TYPE
  65.     UInt32Ptr                            = ^UInt32;
  66.     HardwareCursorDescriptorRecPtr = ^HardwareCursorDescriptorRec;
  67.     HardwareCursorDescriptorRec = RECORD
  68.         majorVersion:            UInt16;
  69.         minorVersion:            UInt16;
  70.         height:                    UInt32;
  71.         width:                    UInt32;
  72.         bitDepth:                UInt32;
  73.         maskBitDepth:            UInt32;
  74.         numColors:                UInt32;
  75.         colorEncodings:            UInt32Ptr;
  76.         flags:                    UInt32;
  77.         supportedSpecialEncodings: UInt32;
  78.         specialEncodings:        ARRAY [0..15] OF UInt32;
  79.     END;
  80.  
  81.     HardwareCursorDescriptorPtr            = ^HardwareCursorDescriptorRec;
  82.  
  83. CONST
  84.     kHardwareCursorInfoMajorVersion = $0001;
  85.     kHardwareCursorInfoMinorVersion = $0000;
  86.  
  87.  
  88. TYPE
  89.     HardwareCursorInfoRecPtr = ^HardwareCursorInfoRec;
  90.     HardwareCursorInfoRec = RECORD
  91.         majorVersion:            UInt16;                                    {  Test tool should check for kHardwareCursorInfoMajorVersion1 }
  92.         minorVersion:            UInt16;                                    {  Test tool should check for kHardwareCursorInfoMinorVersion1 }
  93.         cursorHeight:            UInt32;
  94.         cursorWidth:            UInt32;
  95.         colorMap:                CTabPtr;                                {  nil or big enough for hardware's max colors }
  96.         hardwareCursor:            Ptr;
  97.         reserved:                ARRAY [0..5] OF UInt32;                    {  Test tool should check for 0s }
  98.     END;
  99.  
  100.     HardwareCursorInfoPtr                = ^HardwareCursorInfoRec;
  101.  
  102. CONST
  103.     kVBLInterruptServiceType    = 'vbl ';
  104.     kHBLInterruptServiceType    = 'hbl ';
  105.     kFrameInterruptServiceType    = 'fram';
  106.  
  107.  
  108. TYPE
  109.     InterruptServiceType                = ResType;
  110.     InterruptServiceIDType                = UInt32;
  111.     InterruptServiceIDPtr                = ^InterruptServiceIDType;
  112.     
  113. FUNCTION VSLNewInterruptService(VAR serviceDevice: RegEntryID; serviceType: InterruptServiceType; serviceID: InterruptServiceIDPtr): OSErr; C;
  114. FUNCTION VSLDisposeInterruptService(serviceID: InterruptServiceIDType): OSErr; C;
  115. FUNCTION VSLDoInterruptService(serviceID: InterruptServiceIDType): OSErr; C;
  116. FUNCTION VSLPrepareCursorForHardwareCursor(cursorRef: UNIV Ptr; hardwareDescriptor: HardwareCursorDescriptorPtr; hwCursorInfo: HardwareCursorInfoPtr): BOOLEAN; C;
  117.  
  118. {$ALIGN RESET}
  119. {$POP}
  120.  
  121. {$SETC UsingIncludes := VideoServicesIncludes}
  122.  
  123. {$ENDC} {__VIDEOSERVICES__}
  124.  
  125. {$IFC NOT UsingIncludes}
  126.  END.
  127. {$ENDC}
  128.